6.13 层级交换
如果DataFrame表格有分层索引,而各层级之间需要交换位置,则可以使用df.swaplevel()
结构如下:
df.swaplevel(i=2,j=1,axis=o)
i,j: 要交换索引层级。可以是层级整数位置,或者是层级的名称。
axis:要交换层级的方向。0为行方向,1为列方向。
import pandas as pd
df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.6.13 层级交换.xlsx" , header =[ 0,1 ], index_col =[ 0,1 ])
print (df)
df=df.swaplevel( i = "类型" , j= "地区" , axis = 0 ) #字符类型也可以,但是会变黄,一般应为整数较好。
print (df)
返回:
半年 | 上半年 | 下半年 | |||
---|---|---|---|---|---|
季度 | 1季度 | 2季度 | 3季度 | 4季度 | |
地区 | 类型 | ||||
上海 | Maya-动画 | 11 | 20 | 39 | 17 |
keynote-办公 | 7 | 72 | 85 | 9 | |
成都 | AI-设计 | 82 | 54 | 59 | 93 |
PS-设计 | 46 | 68 | 50 | 20 | |
北京 | PPT-办公 | 75 | 83 | 95 | 12 |
Excel-办公 | 34 | 10 | 56 | 68 | |
3DS MAX-动画 | 7 | 10 | 53 | 53 |
半年 | 上半年 | 下半年 | |||
---|---|---|---|---|---|
季度 | 1季度 | 2季度 | 3季度 | 4季度 | |
类型 | 地区 | ||||
Maya-动画 | 上海 | 11 | 20 | 39 | 17 |
keynote-办公 | 上海 | 7 | 72 | 85 | 9 |
AI-设计 | 成都 | 82 | 54 | 59 | 93 |
PS-设计 | 成都 | 46 | 68 | 50 | 20 |
PPT-办公 | 北京 | 75 | 83 | 95 | 12 |
Excel-办公 | 北京 | 34 | 10 | 56 | 68 |
3DS MAX-动画 | 北京 | 7 | 10 | 53 | 53 |